package com.aierkeji.b2c.entity;

import java.math.BigDecimal;
import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

import com.aierkeji.b2c.entity.constant.OrderStatus;

@Entity
@Table(name = "akj_order_record")
public class AkjOrderRecord {

	@Id
	@GeneratedValue(generator = "uuid")
	@GenericGenerator(name = "uuid", strategy = "uuid")
	@Column(name = "id", length = 32)
	private String id;

	@Column(name = "auser_id", length = 32)
	private String auserId;// CMS user id

	@Column(name = "product_id", length = 50)
	private String productId;

	@Column(columnDefinition = "datetime")
	private Timestamp borrowTime;
	
	@Column(columnDefinition = "datetime", name = "create_at")
	private Timestamp createAt;

	@Column(name = "is_fee_deposit", length = 2)
	private String isFeeDeposit;

	@Column(name = "pay_deposit", columnDefinition = "BIGINT")
	private BigDecimal deposit;// 应收金额

	@Column(name = "paied_premium", columnDefinition = "BIGINT")
	private BigDecimal paiedPremium;// 实收金额

	@Column(name = "is_refund", length = 2)
	private String isRefund;

	@Column(columnDefinition = "datetime")
	private Timestamp refundTime;

	@Column(name = "refund_premium", columnDefinition = "BIGINT")
	private BigDecimal refundPremium;// 退款金额

	@Column(name = "is_activation", length = 2)
	private String isActivation;

	@Column(columnDefinition = "datetime")
	private Timestamp activationTime;

	@Column(name = "client", length = 255)
	private String client;

	@Column(name = "location", length = 255)
	private String location;

	@Column(name = "phone", length = 11)
	private String phone;

	@Column(name = "delivery_company", length = 255)
	private String deliveryCompany;

	@Column(name = "delivery_order", length = 50)
	private String deliveryOrder;
	 
	@Column(name = "delivery_time", columnDefinition = "datetime")
	private Timestamp deliveryTime;

	@Column(name = "order_status", length = 12)
	@Enumerated(EnumType.STRING)
	private OrderStatus orderStatus;

	@Column(name = "ali_pay_user_id", length = 32)
	private String aliPayUserId;// 支付宝用户id

	@Column(name = "ali_pay_user_name", length = 256)
	private String aliPayUserName;// 支付宝用户id

	@Column(columnDefinition = "datetime", name = "update_time")
	private Timestamp updateTime;
	
	
	@Column(columnDefinition = "datetime", name = "last_activation_time")
	private Timestamp lastActivationTime;//最迟可激活时间

	@Column(length = 32, name = "cms_update_by")
	private String cmsUpdateBy;

	@Column(length = 32, name = "life_id")
	private String lifeId;

	@Column(length = 64, name = "product_name")
	private String productName;

	@Column(length = 400, name = "remark")
	private String remark;// 取消备注

	@Column(length = 32, name = "order_no",unique=true)
	private String orderNo;// 取消备注

	@Column( name = "is_delete")
	private Boolean isDelete=false;// 
	
	@Column( name = "send_no_actived_time" ,columnDefinition="datetime")
	private Timestamp sendNoActivedTime;//是否发送未激活提醒短信
	
	
	@Column( name = "freeze_status" ,length=10)
	private String freezeStatus;//冻结资金状态9000:成功,8000:处理中
	
	
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getAuserId() {
		return auserId;
	}

	public void setAuserId(String auserId) {
		this.auserId = auserId;
	}

	public String getProductId() {
		return productId;
	}

	public void setProductId(String productId) {
		this.productId = productId;
	}

	public Timestamp getBorrowTime() {
		return borrowTime;
	}

	public void setBorrowTime(Timestamp borrowTime) {
		this.borrowTime = borrowTime;
	}

	public String getIsFeeDeposit() {
		return isFeeDeposit;
	}

	public void setIsFeeDeposit(String isFeeDeposit) {
		this.isFeeDeposit = isFeeDeposit;
	}

	public String getIsRefund() {
		return isRefund;
	}

	public void setIsRefund(String isRefund) {
		this.isRefund = isRefund;
	}

	public Timestamp getRefundTime() {
		return refundTime;
	}

	public void setRefundTime(Timestamp refundTime) {
		this.refundTime = refundTime;
	}

	public String getIsActivation() {
		return isActivation;
	}

	public void setIsActivation(String isActivation) {
		this.isActivation = isActivation;
	}

	public Timestamp getActivationTime() {
		return activationTime;
	}

	public void setActivationTime(Timestamp activationTime) {
		this.activationTime = activationTime;
	}

	public String getClient() {
		return client;
	}

	public void setClient(String client) {
		this.client = client;
	}

	public String getLocation() {
		return location;
	}

	public void setLocation(String location) {
		this.location = location;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getDeliveryCompany() {
		return deliveryCompany;
	}

	public void setDeliveryCompany(String deliveryCompany) {
		this.deliveryCompany = deliveryCompany;
	}

	public String getDeliveryOrder() {
		return deliveryOrder;
	}

	public void setDeliveryOrder(String deliveryOrder) {
		this.deliveryOrder = deliveryOrder;
	}

	public BigDecimal getDeposit() {
		return deposit;
	}

	public void setDeposit(BigDecimal deposit) {
		this.deposit = deposit;
	}

	public BigDecimal getPaiedPremium() {
		return paiedPremium;
	}

	public void setPaiedPremium(BigDecimal paiedPremium) {
		this.paiedPremium = paiedPremium;
	}

	public BigDecimal getRefundPremium() {
		return refundPremium;
	}

	public void setRefundPremium(BigDecimal refundPremium) {
		this.refundPremium = refundPremium;
	}

	public OrderStatus getOrderStatus() {
		return orderStatus;
	}

	public void setOrderStatus(OrderStatus orderStatus) {
		this.orderStatus = orderStatus;
	}

	public String getAliPayUserId() {
		return aliPayUserId;
	}

	public void setAliPayUserId(String aliPayUserId) {
		this.aliPayUserId = aliPayUserId;
	}

	public String getAliPayUserName() {
		return aliPayUserName;
	}

	public void setAliPayUserName(String aliPayUserName) {
		this.aliPayUserName = aliPayUserName;
	}

	public Timestamp getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Timestamp updateTime) {
		this.updateTime = updateTime;
	}

	public String getCmsUpdateBy() {
		return cmsUpdateBy;
	}

	public void setCmsUpdateBy(String cmsUpdateBy) {
		this.cmsUpdateBy = cmsUpdateBy;
	}

	public String getLifeId() {
		return lifeId;
	}

	public void setLifeId(String lifeId) {
		this.lifeId = lifeId;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Timestamp getCreateAt() {
		return createAt;
	}

	public void setCreateAt(Timestamp createAt) {
		this.createAt = createAt;
	}

	public Timestamp getDeliveryTime() {
		return deliveryTime;
	}

	public void setDeliveryTime(Timestamp deliveryTime) {
		this.deliveryTime = deliveryTime;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public Timestamp getLastActivationTime() {
		return lastActivationTime;
	}

	public void setLastActivationTime(Timestamp lastActivationTime) {
		this.lastActivationTime = lastActivationTime;
	}
	
	
	public Boolean getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Boolean isDelete) {
		this.isDelete = isDelete;
	}

	public Timestamp getSendNoActivedTime() {
		return sendNoActivedTime;
	}

	public void setSendNoActivedTime(Timestamp sendNoActivedTime) {
		this.sendNoActivedTime = sendNoActivedTime;
	}

	public String getFreezeStatus() {
		return freezeStatus;
	}

	public void setFreezeStatus(String freezeStatus) {
		this.freezeStatus = freezeStatus;
	}


	
}
